package com.sbr.seb.rule.test.service.impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.sbr.seb.rule.AbstractParameteredSpecification;
import com.sbr.seb.rule.annotation.ISpecification;
import com.sbr.seb.rule.element.NameMinLengthSpecification;
import com.sbr.seb.rule.exception.SpecificationException;
import com.sbr.seb.rule.test.service.NameService;

public class NameServiceImpl extends AbstractParameteredSpecification<String> implements NameService {
	
	private static final Logger logger = LoggerFactory.getLogger(NameServiceImpl.class);
	
	public NameServiceImpl() {
		logger.debug("constructing NameServiceImpl");
	}
	
	@Override
	@ISpecification
	public void checkName(String name) throws SpecificationException {
		logger.info("name is checked !!");
	}
	
	@Override
	@ISpecification({NameMinLengthSpecification.class})
	public void checkNameMinLength(String name) throws SpecificationException {
		logger.info("name min length is checked !!");
	}
	
	
	
}
